home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Pascal / Games / Pararena 1.3 / source / Parts ƒ / LogoWindo.Pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-05-12  |  1.3 KB  |  64 lines  |  [TEXT/PJMM]

  1. unit LogoWindo;
  2.  
  3. interface
  4.  
  5.     procedure OpenLogo;
  6.     procedure CloseLogo;
  7.  
  8. implementation
  9.  
  10.  {________________________________}
  11.  
  12.     const
  13.         logoWindID = 1999;
  14.         logoPictID = 1999;
  15.  
  16.     var
  17.         logoWndo: WindowPtr;
  18.  
  19.  {________________________________}
  20.  
  21.     procedure OpenLogo;
  22.         var
  23.             rightOff, downOff: Integer;
  24.             tempRect: Rect;
  25.             thePict: PicHandle;
  26.     begin
  27.         logoWndo := nil;
  28.  
  29.         logoWndo := GetNewWindow(logoWindID, nil, Pointer(-1));
  30.         rightOff := logoWndo^.portRect.right - logoWndo^.portRect.left;
  31.         rightOff := (ScreenBits.bounds.right - rightOff) div 2;
  32.         downOff := logoWndo^.portRect.bottom - logoWndo^.portRect.top;
  33.         downOff := (ScreenBits.bounds.bottom - downOff) div 2;
  34.         MoveWindow(logoWndo, rightOff, downOff, FALSE);
  35.         SelectWindow(logoWndo);
  36.         SetPort(logoWndo);
  37.         ShowWindow(logoWndo);
  38.  
  39.         thePict := GetPicture(logoPictID);
  40.         if (thePict <> nil) then
  41.             begin
  42.                 HLock(Handle(thePict));
  43.                 tempRect := thePict^^.picFrame;
  44.                 ClipRect(tempRect);
  45.                 DrawPicture(thePict, tempRect);
  46.                 HUnlock(Handle(thePict));
  47.                 ReleaseResource(Handle(thePict));
  48.             end;
  49.     end;
  50.  
  51. {________________________________}
  52.  
  53.     procedure CloseLogo;
  54.     begin
  55.         if (logoWndo <> nil) then
  56.             begin
  57.                 DisposeWindow(logoWndo);
  58.                 logoWndo := nil;
  59.             end;
  60.     end;
  61.  
  62. {________________________________}
  63.  
  64. end.                                    {End of unit}